#include "AabbEntity.h"

namespace egg{

    AabbEntity::AabbEntity(){
        mShader=gShaderLib.getShader("aabb");
        mGeometry=gGeometryLib.getGeometry("box");
        mParamMap.bindShader(mShader);
    }

    void AabbEntity::setColor(const vec4& rgba){
        mParamMap.getNumericParam("uni_vec4_color")->set<vec4>(rgba);
    }

    void AabbEntity::setAabb(const Aabb& box){
        vec3 len=box.getCenter();
        mParamMap.getNumericParam("uni_vec3_length")->set<vec3>(box.getLength());
        mParamMap.getNumericParam("uni_vec3_center")->set<vec3>(box.getCenter());
    }

    void AabbEntity::_draw(const FrameEvent& evt){
        StateCache::setFillMode(GL_LINE);
        StateCache::setLineWidth(1.0);
        ShapeEntity::_draw(evt);
    }

}